function [PQ, status, scheduledTargets] = BsMf_Schedule_IntervalAlgebra_SCP_Parallel(PQ, sensor1TargetOrder, sensor2TargetOrder, param)
%BsMf_Schedule_IntervalAlgebra_SCP Simple Constraint Programming
% Detailed explanation goes here

% persistent counter;
% 
% if isempty(counter)
%   counter = 1;
% end
% 
% scpPQ = PQ;
% s = RandStream.create('mt19937ar','seed',counter);
% RandStream.setDefaultStream(s);
%tic;

% Perform the scheduling by selecting from the Priority Queue and adding
% the relevent "equals" task to the Interval Algebra Network.
[PQ, status, scheduledTargets] = IA_ScheduleRun_SCP_Parallel(PQ, sensor1TargetOrder, sensor2TargetOrder);

%parallel_time = toc;
% s = RandStream.create('mt19937ar','seed',counter);
% RandStream.setDefaultStream(s);
% tic;
% [scpPQ, scpStatus, scpScheduledTargets] = IA_ScheduleRun_SCP(scpPQ, sensor1TargetOrder, sensor2TargetOrder);
% normal_time = toc;
% if (scpStatus ~= status)... 
% || (length(scpScheduledTargets) ~= length(scheduledTargets))... 
% || all(scpScheduledTargets ~= scheduledTargets)
%   echo = 'Algorithm is broken'
% end
% delta_time = parallel_time - normal_time
% counter = counter + 1;
end